.TH bs_capacityassert 3
.SH NAME
bs_capacityassert \- assert that there are least n bytes left in the stream
.SH SYNTAX
.B #include <libowfat/parse.h>

int \fBbs_capacityassert\fR(struct bytestream* &\fIbs\fR,
                size_t \fIcapacity\fR);
.SH DESCRIPTION
bs_capacityassert will check that there are at least this many bytes in
the bytestream. If there are not, it will set the bytestream to the
error state and return 0; otherwise it will return 1.

Note that this compares against the limits of the bytestream, not the
actual length. These are often the same, but bytestreams can be tied
to a buffer*, in which case the actual length of the stream is not known
beforehand. Even if bs_capacityassert returns successful, the following
actual reads could still run into an error.

bs_capacitycheck does the same thing but does not set the bytestream to
the error state if there is not enough space.

Us bs_capacityleft to find out how many bytes are left in the bytestream.

bs_nomoredataassert is the inverse assertion.

Use bs_err to find out whether the bytestream is in the error state.
.SH "SEE ALSO"
bs_init_membuf(3), bs_init_iobuf(3), bs_init_iobuf_size(3),
bs_init_membuf(3), bs_capacitycheck(3), bs_capacityleft(3),
bs_err(3), bs_nomoredataassert(3)
